package UI.funcionarios;

import gestorBD.Controlador;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import uiMain.bienRaizOk;
import static uiMain.bienRaizOk.ventana;

public class BarraDeMenuFuncionario extends JMenuBar {

    public BarraDeMenuFuncionario() {
        super();

        //----------Se crea la opcion archivo-------------------------------------------
        JMenu menuArchivo = new JMenu("Archivo");
        this.add(menuArchivo);

        //Se crea la sub-opción "Ver información del usuario"
        JMenuItem verInfoUsuario = new JMenuItem("Ver información del usuario");
        Icon iconoUsuario = new ImageIcon(bienRaizOk.class.getResource("../resources/usuario.png"));
        verInfoUsuario.setIcon(iconoUsuario);
        menuArchivo.add(verInfoUsuario);

        //Se crea la sub-opción "Cerrar sesión"
        JMenuItem cerrarSesion = new JMenuItem("Cerrar sesión");
        Icon iconoCerrarSesion = new ImageIcon(bienRaizOk.class.getResource("../resources/cerrarSesion.png"));
        cerrarSesion.setIcon(iconoCerrarSesion);
        menuArchivo.add(cerrarSesion);

        //Se crea la sub-opción "Salir"
        JMenuItem salir = new JMenuItem("Salir");
        Icon iconoSalir = new ImageIcon(bienRaizOk.class.getResource("../resources/salir.png"));
        salir.setIcon(iconoSalir);
        menuArchivo.add(salir);

        //----------Finaliza creación de opcion archivo--------------------------------
        JMenu menuProcesosYConsultas = new JMenu("Procesos y consultas");
        this.add(menuProcesosYConsultas);
        JMenuItem volverAPantallaDeFuncionario = new JMenuItem("Todas mis opciones");
        Icon iconoVerMisOpciones = new ImageIcon(bienRaizOk.class.getResource("../resources/verTodasMisOpciones.png"));
        volverAPantallaDeFuncionario.setIcon(iconoVerMisOpciones);
        menuProcesosYConsultas.add(volverAPantallaDeFuncionario);

        //----------Creación de opción ayuda-------------------------------------------
        JMenu menuAyuda = new JMenu("Ayuda");
        this.add(menuAyuda);

        JMenuItem acercaDe = new JMenuItem("Acerca de");
        Icon iconoAcercaDe = new ImageIcon(bienRaizOk.class.getResource("../resources/acercaDe.png"));
        acercaDe.setIcon(iconoAcercaDe);
        menuAyuda.add(acercaDe);

        //-----------Finaliza creación de opción ayuda
        //Se añaden las funcionalidades
        verInfoUsuario.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                String textoPopUp = "El usuario actual es el siguiente:\n\n" + Controlador.obtenerInformacionDelUsuario();
                JOptionPane.showMessageDialog(null, textoPopUp, "Información del usuario", JOptionPane.INFORMATION_MESSAGE);
            }

        });

        cerrarSesion.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {
                Controlador.limpiarCookie();
                ventana.mostrarPantallaParaCerrarSesion();
            }

        });

        salir.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {
                String ObjButtons[] = {"Sí", "No", "Cancelar"};
                int PromptResult = JOptionPane.showOptionDialog(null, "¿Desea guardar los cambios en el XML antes de salir?", "Guardar cambios", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE, null, ObjButtons, ObjButtons[1]);
                if (PromptResult == JOptionPane.YES_OPTION) {
                    Controlador.guardarXML();
                    System.out.println("XML actualizado correctamente");
                    System.exit(0);
                } else if (PromptResult == JOptionPane.NO_OPTION) {
                    System.exit(0);
                } else if (PromptResult == JOptionPane.CANCEL_OPTION) {
                    //No hacer nada
                }
            }
        });
        //------------Finaliza creación de barra de menú

        volverAPantallaDeFuncionario.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {
                ventana.mostrarPanelOpcionesDeFuncionario();
            }
        });

        acercaDe.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                String textoPopUp = "Grupo #4 - Programación orientada a objetos\n\n"
                        + "Integrantes del equipo:\n"
                        + "Yennifer Marcela Tobón Yate\n"
                        + "Juan Diego Merino Roldán\n"
                        + "Nicolás Henao Arango\n"
                        + "Simón Palacio Zapata\n\n"
                        + "Universidad Nacional de Colombia\n"
                        + "Sede Medellín, Facultad de Minas\n";
                JOptionPane.showMessageDialog(null, textoPopUp, "Acerca del programa", JOptionPane.INFORMATION_MESSAGE);
            }

        });
    }
}
